A minus sign (-) in the upper left corner of any help window indicates that the selected command is not available at toplevel. A plus sign (+) indicates that the command is only available at toplevel. + Display contents of working memory. Optional arguments are a sequence of timetags. Working memory elements having the timetag values specified are printed; if no timetags are given, all of working memory is displayed. (wm) (wm TAG1 TAG2 TAG3 ... ) + Display all working memory elements that match a given LHS-like condition pattern. If no pattern is given then all of working memory is displayed. The pattern cannot contain variables, relational operators (=,>,>=, <,<=,<=>, and <>), disjunctions (<< >>), braces ({ }), or the quote operator (//). (ppwm) (ppwm CLASS ^ATTRIBUTE VALUE ^ATTRIBUTE VALUE ... ) + Display production rules given as arguments. Any number of rule names may be given. (pm PRODUCTION-NAME1 PRODUCTION-NAME2 ... ) + Load source program into the toplevel for processing and/or compiling. The command takes 1 argument which is the file name. If a file name extension is omitted, .OPS is assumed. (load FILENAME) FILENAME.OPS is assumed. (load FILENAME.TST) (@ FILENAME) FILENAME.OPS is assumed. (@ FILENAME.TST) + Display all productions whose LHS condition elements are satisfied. The timetags associated with the matched working memory elements are printed to the right of each production name. A timetag consisting of three minus signs indicates a negated condition element. The dominating production will be displayed in the form (PRODUCTION-NAME dominates) (cs) + Watch rule firings and working memory changes as they happen during program execution. The command takes either 1 argument or none. The default watch level is 0. (watch) - Display current watch level (watch 1) - Display each rule that fires (watch 2) - Same as watch level 1 but also display each changed working memory element + Set rules as breakpoints so that they return control to the toplevel as soon as they fire. The command takes any number of production names as arguments. If a given production is already set as a breakpoint, then it is reset to it's normal state, otherwise it is set as a breakpoint. If no arguments are given, then all current breakpoints are displayed. (pbreak) (pbreak PRODUCTION-NAME1 PRODUCTION-NAME2 ... ) + Executes previously compiled productions. An optional argument is an integer specifying the number of cycles to fire before control is passed to the toplevel. If the number `n' is given, then program execution will stop when the cycle count equals `n' or program terminates normally. (run) (run CYCLES) Removes working memory elements. The command takes 1 or more arguments. At the toplevel these arguments are working memory timetags to be removed. If this command is implemented in the RHS of a production then the arguments are either variables or condition element indexes. (Remove) also accepts an asterisk (*) as an argument, indicating that all of working memory is to be removed. Toplevel RHS (remove TAG1 TAG2 ... ) (remove N1 N2 <VAR>) (remove *) (remove *) Creates a new working memory element. The first argument is the element class. The rest of the arguments are pairs of attribute/values assignments. The values of the attributes can be literal, variable (not available in toplevel), or the result of a function call (i.e. (compute), (accept), etc.). (make CLASS ^ATTRIBUTE VALUE ^ATTRIBUTE VALUE ... ) - Modifies existing working memory element (not available at toplevel). The first argument is the timetag value or variable bound to the element. The following arguments are attribute/value pairs to be modified (see `make'). (modify <VARIABLE> ^ATTRIBUTE1 ^VALUE ... ) + The echo command accepts 1 argument, either `on' or `off'. By setting (echo on), all lines read from the disk by the (load) command will be displayed on the screen as they are compiled. By setting (echo off), no lines are displayed. (echo on) (echo off) + Delete production(s) from memory. The command accepts 1 or more arguments, specifying the production names to be deleted. (excise <PRODUCTION-NAME> ... ) Exit the OPS5 environment and return to the operating system. (exit) + Used to declare working memory element classes and their attributes. The command accepts 1 or more arguments; the first being the class name and the remaining are the attribute names. (literal CLASS-NAME ATTR1 ATTR2 ... ) Select new location of program input, output, and tracings. The first argument is the target filename, or nil to close the file and reset to initial defaults. The second argument is either "write", "accept", or "trace", depending on which function you wish to set new defaults. (default { <filename> nil } { write accept trace } ) Ex. (default output1.txt write) (default nil trace) + Display all possible working-memory matches for a given production rule. The command takes 1 or more arguments which are the rule names. (matches <rule-name> ... ) Ex. (matches rule-1 rule-2)